package com.tedu.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.tedu.dao.DoorMapper;
import com.tedu.dao.OrderMapper;
import com.tedu.pojo.Door;
import com.tedu.pojo.Order;

@Controller

public class OrderController {
	@Autowired
	private OrderMapper dao;
	@Autowired
	private DoorMapper doorDao;
	
	/** 1、查询所有订单信息 */
	@RequestMapping("/orderList")
	public String orderList(Model model) {
		//调用查询所有门店的方法
		List<Door> dList = doorDao.findAll();
		//将门店对象集合存入Model中
		model.addAttribute( "dList", dList );
		//调用查询所有订单的方法
		List<Order> oList = dao.findAll();
		//将订单对象集合存入Model中
		model.addAttribute( "oList", oList );
		for (Order order : oList) {
			System.out.println( order );
		}
		//将订单集合转发带到order_list.jsp进行显示
		return "order_list";
	}
	
	/** 2.1.跳转到订单新增页面
	 * 查询所有门店集合, 将所有门店集合带到订单新增页面
	 * 进行显示  */
	@RequestMapping("/toOrderAddPage")
	public String toOrderAddPage( Model model ) {
		//调用查询所有门店的方法
		List<Door> dList = doorDao.findAll();
		//将门店对象集合存入Model中
		model.addAttribute( "dList", dList );
		return "order_add";
	}
	
	/** 2、新增订单信息 */
	@RequestMapping("/orderAdd")
	public String orderAdd( Order order ) {
		//调用新增订单的方法
		dao.addOrder( order );
		//新增成功后跳转到订单列表, 显示最新的订单列表
		return "forward:/orderList";
	}
	/** 3、删除订单信息 */
	@RequestMapping("/orderDelete")
	public String orderDelete( Integer id ) {
		//调用根据id删除订单的方法
		dao.deleteById( id );
		return "forward:/orderList";
	}
	
	/** 4.1、根据id查询订单信息
	 * 将查询到的订单信息带到订单修改页面, 进行数据的回显
	 * 同时还需要将门店集合带到订单修改页面, 显示门店列表 */
	@RequestMapping("/orderInfo")
	public String orderInfo( Integer id, Model model ) {
		//调用根据id查询订单的方法
		Order order = dao.findById( id );
		//将订单对象存入Model中
		model.addAttribute("order", order);
		//调用查询所有门店的方法
		List<Door> dList = doorDao.findAll();
		//将门店集合存入到Model中
		model.addAttribute( "dList", dList );
		
		return "order_update";
	}
	
	/** 4.2、修改订单信息 */
	@RequestMapping("/orderUpdate")
	public String orderUpdate( Order order ) {
		//调用根据id修改订单信息的方法
		dao.updateById( order );
		//跳转到订单列表页面, 显示最新订单列表
		return "forward:/orderList";
	}
}










